package DataBaseManager;

import java.io.Serializable;
import java.util.ArrayList;

import DataType.MyDataType;

public class Row implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	ArrayList<MyDataType> values;

	

	
	public Row(int nFeild) {
		
		values = new ArrayList<MyDataType>();
		for(int i=0;i<nFeild;i++)
		{
			values.add(MyDataType.getNull());
		}
	}
	
	
	public Row() {
		
		values = new ArrayList<MyDataType>();
	}
	public void setValue(int colIndex, MyDataType value) {
		
		if (colIndex >= 0 && colIndex < values.size())
		{
			if(value == null)
			{
				value = MyDataType.getNull();
			}
			values.set(colIndex, value);
		}
		
			
	}
	public void add(MyDataType val)
	{
		if(val == null)
		{
			val = MyDataType.getNull();
		}
		values.add(val);
	}
	public void addAll(ArrayList<MyDataType> vals)
	{
		values.addAll(vals);
	}
	public ArrayList<MyDataType> getValues()
	{
		return values;
	}
	
	public MyDataType getValue(int index)
	{
		return values.get(index);
	}
	
	public int size()
	{
		return values.size();
	}
	
	public String[] getArrayStringValue(){
		String[] result = new String[this.values.size()];
		for(int i = 0; i < values.size(); i++){
			if(values.get(i)!= null && values.get(i).toString() != null){
				result[i] = values.get(i).toString();
			}
			else
			{
				result[i] = "";
			}
		}
		return result;
	}
	
	public void DeleteColum(int input){
		this.values.remove(input);
	}

}
